package com.gitee.qdbp.general.common.api.reusable.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 基础树形数据更新类
 *
 * @author zhh
 * @version 180514
 */
@OperateTraces(target = "where")
@DataIsolation(target = "where")
public class SimpleTreeUpdate extends SimpleTreeBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 租户编号是否更新为空值 **/
    private Boolean tenantCodeToNull;

    /** 使用场景是否更新为空值 **/
    private Boolean sceneTypeToNull;

    /** 节点名称是否更新为空值 **/
    private Boolean nodeTextToNull;

    /** 上级编号是否更新为空值 **/
    private Boolean parentCodeToNull;

    /** 排序号(越小越靠前)是否更新为空值 **/
    private Boolean sortIndexToNull;
    /** 排序号(越小越靠前)的增加值 **/
    private Integer sortIndexAdd;

    /** 级数(从1开始)是否更新为空值 **/
    private Boolean levelIndexToNull;
    /** 级数(从1开始)的增加值 **/
    private Integer levelIndexAdd;

    /** 是否叶子节点是否更新为空值 **/
    private Boolean leafToNull;

    /** 创建人ID是否更新为空值 **/
    private Boolean creatorIdToNull;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 启用状态(1.正常|2.未启用)是否更新为空值 **/
    private Boolean usingStateToNull;

    /** 更新操作的条件 **/
    private SimpleTreeWhere where;

    /** 判断租户编号是否更新为空值 **/
    public Boolean isTenantCodeToNull() {
        return tenantCodeToNull;
    }

    /**
     * 设置租户编号是否更新为空值
     *
     * @param tenantCodeToNull 租户编号是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTenantCodeToNull(Boolean tenantCodeToNull) {
        this.tenantCodeToNull = tenantCodeToNull;
    }

    /** 判断使用场景是否更新为空值 **/
    public Boolean isSceneTypeToNull() {
        return sceneTypeToNull;
    }

    /**
     * 设置使用场景是否更新为空值
     *
     * @param sceneTypeToNull 使用场景是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSceneTypeToNull(Boolean sceneTypeToNull) {
        this.sceneTypeToNull = sceneTypeToNull;
    }

    /** 判断节点名称是否更新为空值 **/
    public Boolean isNodeTextToNull() {
        return nodeTextToNull;
    }

    /**
     * 设置节点名称是否更新为空值
     *
     * @param nodeTextToNull 节点名称是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setNodeTextToNull(Boolean nodeTextToNull) {
        this.nodeTextToNull = nodeTextToNull;
    }

    /** 判断上级编号是否更新为空值 **/
    public Boolean isParentCodeToNull() {
        return parentCodeToNull;
    }

    /**
     * 设置上级编号是否更新为空值
     *
     * @param parentCodeToNull 上级编号是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setParentCodeToNull(Boolean parentCodeToNull) {
        this.parentCodeToNull = parentCodeToNull;
    }

    /** 判断排序号(越小越靠前)是否更新为空值 **/
    public Boolean isSortIndexToNull() {
        return sortIndexToNull;
    }

    /**
     * 设置排序号(越小越靠前)是否更新为空值
     *
     * @param sortIndexToNull 排序号(越小越靠前)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSortIndexToNull(Boolean sortIndexToNull) {
        this.sortIndexToNull = sortIndexToNull;
    }

    /** 获取排序号(越小越靠前)的增加值 **/
    public Integer getSortIndexAdd() {
        return sortIndexAdd;
    }

    /** 设置排序号(越小越靠前)的增加值 **/
    public void setSortIndexAdd(Integer sortIndexAdd) {
        this.sortIndexAdd = sortIndexAdd;
    }

    /** 判断级数(从1开始)是否更新为空值 **/
    public Boolean isLevelIndexToNull() {
        return levelIndexToNull;
    }

    /**
     * 设置级数(从1开始)是否更新为空值
     *
     * @param levelIndexToNull 级数(从1开始)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setLevelIndexToNull(Boolean levelIndexToNull) {
        this.levelIndexToNull = levelIndexToNull;
    }

    /** 获取级数(从1开始)的增加值 **/
    public Integer getLevelIndexAdd() {
        return levelIndexAdd;
    }

    /** 设置级数(从1开始)的增加值 **/
    public void setLevelIndexAdd(Integer levelIndexAdd) {
        this.levelIndexAdd = levelIndexAdd;
    }

    /** 判断是否叶子节点是否更新为空值 **/
    public Boolean isLeafToNull() {
        return leafToNull;
    }

    /**
     * 设置是否叶子节点是否更新为空值
     *
     * @param leafToNull 是否叶子节点是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setLeafToNull(Boolean leafToNull) {
        this.leafToNull = leafToNull;
    }

    /** 判断创建人ID是否更新为空值 **/
    public Boolean isCreatorIdToNull() {
        return creatorIdToNull;
    }

    /** 设置创建人ID是否更新为空值 **/
    public void setCreatorIdToNull(Boolean creatorIdToNull) {
        this.creatorIdToNull = creatorIdToNull;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 判断启用状态(1.正常|2.未启用)是否更新为空值 **/
    public Boolean isUsingStateToNull() {
        return usingStateToNull;
    }

    /**
     * 设置启用状态(1.正常|2.未启用)是否更新为空值
     *
     * @param usingStateToNull 启用状态(1.正常|2.未启用)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setUsingStateToNull(Boolean usingStateToNull) {
        this.usingStateToNull = usingStateToNull;
    }

    /** 获取更新操作的条件 **/
    public SimpleTreeWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public SimpleTreeWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new SimpleTreeWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(SimpleTreeWhere where) {
        this.where = where;
    }
}